home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group97b.txt / 000096_icon-group-sender _Fri Oct 24 13:14:12 1997.msg < prev    next >
Internet Message Format  |  2000-09-20  |  2KB

  1. Return-Path: <icon-group-sender>
  2. Received: from kingfisher.CS.Arizona.EDU (kingfisher.CS.Arizona.EDU [192.12.69.239])
  3.     by cheltenham.cs.arizona.edu (8.8.7/8.8.7) with SMTP id NAA28879
  4.     for <icon-group-addresses@cheltenham.CS.Arizona.EDU>; Fri, 24 Oct 1997 13:14:11 -0700 (MST)
  5. Received: by kingfisher.CS.Arizona.EDU (5.65v4.0/1.1.8.2/08Nov94-0446PM)
  6.     id AA24963; Fri, 24 Oct 1997 13:14:11 -0700
  7. Date: Fri, 24 Oct 1997 09:01:17 -0700
  8. From: swampler@noao.edu (Steve Wampler)
  9. Subject: Re: tabulating values
  10. To: icon-group@cs.arizona.edu
  11. Message-Id: <swampler-9709241601.AA000212087@orpheus.gemini.edu>
  12. In-Reply-To: <62p3uq$sup$1@vishnu.jussieu.fr>
  13. Errors-To: icon-group-errors@cs.arizona.edu
  14. Status: RO
  15.  
  16.  
  17.  
  18. Marc ESPIE wrote:
  19. > Come on guys, when somebody asks a rather simple question, giving him
  20. > an half-baked program that doesn't work won't probably give him a clue
  21. > about what's wrong.
  22. > Stuart: I'm curious about the way you're using Icon. If you're truely 
  23. > stuck with the program library as far as programming goes, you're only
  24. > using a small part of Icon. How about trying to learn and program ?
  25.  
  26. Ok, here's one that works as I understand the problem:
  27.  
  28.    procedure main()
  29.  
  30.        counts := table(0)
  31.  
  32.        every counts[genNum()] +:= 1
  33.  
  34.        counts := sort(counts,2)
  35.        every i := *counts to 1 by -1 do {
  36.            write(counts[i][1],"\t",counts[i][2])
  37.            }
  38.  
  39.    end
  40.  
  41.    procedure genNum()
  42.  
  43.        every line := !&input do
  44.            line ? {
  45.                while tab(upto(&digits)) do
  46.                    suspend tab(many(&digits)) \ 1
  47.                }
  48.  
  49.    end
  50.  
  51. Also, you can adapt the countwords() procedure given on page 82
  52. of the 3rd edition of the Icon book to do most of the work by
  53. changing &letters to &digits.  Of course, you really should
  54. rename the procedure also!
  55.  
  56. --
  57. Steve Wampler - swampler@gemini.edu [Gemini 8m Telescopes Project (under AURA)]
  58. O Sibile, si ergo, fortibus es inero.
  59. Nobile, demis trux.  Demis phulla causan dux.
  60.  
  61.